package com.xjlsoft.weather.service;

import com.xjlsoft.weather.dto.DataAvgDto;
import com.xjlsoft.weather.entity.RadiationAvg;

import java.util.Date;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 辐射数据 平均数据  表 服务类
 * </p>
 *
 * @author zhangbanglong
 * @since 2020-08-19
 */
public interface RadiationAvgService extends IService<RadiationAvg> {
	
	/**
	 * 保存天 平均数据
	 * */
	public int saveAvgDay(Date dateStart,Date dateEnd);
	
	/**
	 * 保存月 平均数据  <br/>
	 * @param  year  格式  yyyy  2009<br/>
	 * @param   mon  格式 M      1 或者 10.。。。
	 *
	 * */
	public int saveAvgMon(String year,String mon);
	
	/**
	 * 保存周  平均数据
	 * */
	public int saveAvgWeek(Date dateStart,Date dateEnd,String week);
	
	/**
	 * 保存 年 平均数据
	 * */
	public int saveAvgYear(String yearStr);
	
	
	
	
	/**
	 * 返回 下一个 可以统计的  周 时间 间隔
	 * key value:<br/>
	 * success true 存在下周需要统计的数据<br/>
	 * startDate   Date类型日期  开始日期<br/>
	 * endDate     Date类型日期  结束日期 <br/>
	 * whatWeek  返回第X周   <br/>
	 * 如果 没有历史平均数据 则从 1952 年1月1号开始统计
	 * */
	public Map<String,Object> getNextWeekMessage();
	
	
	/**
	 * 返回下一个可以统计的 年份 与月份
	 * key value:<br/>
	 * success true 存在下周需要统计的数据<br/>
	 * year   String类型日期  下一要计算的  年<br/>
	 * mon    String类型日期  下一要计算的  月 <br/>
	 * 如果 没有历史平均数据 则从 1952 年1月1号开始统计
	 * */
	public Map<String,Object> getNextMonMessage();
	
	
	/**
	 * 
	 * 返回 下一 可以统计的年份
	 * key value:<br/>
	 * success true 存在下周需要统计的数据<br/>
	 * year   String类型日期  下一要计算的  年<br/>
	 * 如果 没有历史平均数据 则从 1952 开始统计
	 * */
	public Map<String,Object> getNextYearMessage();
	
	
	
	
	/**
	 * 返回各个  属性的平均 值，查询字段动态传入,<br/>
	 * @param DataAvgDto 查询参数
	 * */
	public Map<String,Object> getRadiationAvgByFiled(DataAvgDto dataAvgDto);
	
	/**
	 * 返回各个  属性的原始 日 值，查询字段动态传入,<br/>
	 * @param DataAvgDto 查询参数
	 * */
	public Map<String,Object> getRadiationDataHourByFiled(DataAvgDto dataAvgDto,String yearStr);

}
